﻿using System.Collections.Generic;
using System.Xml.Serialization;

namespace XamlLocalizer
{
    public class XamlParseInfo
    {
        [XmlArrayItem("Element")]
        public List<XamlElementInfo> Elements { get; set; }

        [XmlArrayItem("WellKnownString")]
        public List<WellKnownString> WellKnownStrings { get; set; }

        public ReplaceSettings ReplaceSettings { get; set; }
    }

    public class XamlElementInfo
    {
        [XmlAttribute]
        public string Name { get; set; }

        [XmlAttribute]
        public string ReplaceContentWithAttribute { get; set; }

        [XmlArrayItem("Attribute")]
        public List<XamlAttributeInfo> Attributes { get; set; }
    }

    public class XamlAttributeInfo
    {
        [XmlAttribute]
        public string Name { get; set; }
    }

    public class WellKnownString
    {
        [XmlAttribute]
        public string Text { get; set; }

        [XmlAttribute]
        public string FullKey { get; set; }        
    }

    public class ReplaceSettings
    {
        public string LocExtPrefix { get; set; }
        public string LocExtNamespace { get; set; }
        public string LocTextElem { get; set; }
        public string ResIdAttribute { get; set; }
        public bool AddAssemblyResourcesNamespace { get; set; }
    }
}
